磁碟陣列(Disk Array)簡介
作者:tank 日期:2006-05-07
磁碟陣列(Disk Array)簡介
一、源起
由於伺服器的大量運用,專業影音對大容量,高速儲存設備的需求,網路應用環境的普及,磁碟陣列系統遂成為近來中低階儲存設備的最佳選擇。
目前市面上磁碟陣列系統的組成,幾乎都是依循RAID Advisory Board所定義的RAID規格而製造。不同的RAID Level有其不同的應用環境,不過大體而言,磁碟陣列系統是在提供大容量及高效能的儲存設備,同時可以提高資料的妥善性。
二、RAID
RAID是Redundant Array of Inexpensive Drives的縮寫。1988年,由David A. Patterson、Randy H.Katz及Garth Gibson等加大伯克萊分校的研究學者,發表了一篇文章:"A Case for Redundant Arrays of Inexpensive Disks",這篇文章, 產生了一個新的名詞-「RAID」,同時,定義了RAID的五種模式:RAID Level 1-5。
在發表當時,這些學者研究的目標,主要是在為系統尋找一個較便宜的解決方案-可以用較低容量而且較便宜的硬碟機,組合成大容量,較佳效率的磁碟機次系統,以取代昂貴的大容量硬碟,資料安全性在當時倒不是最重要的著眼點。
在現在的使用環境中,磁碟機的價格快速滑落,效能也有明顯提昇。RAID的磁碟機系統,由於具備容錯能力,可以提高資料信賴性;整合各個磁碟機後,整體的效能也能提昇,遂成為中高階應用環境中的必要配備了
一般來說,RAID磁碟陣列具備以下的優點:
(一)集合數個硬碟機成為一個虛擬的大容量硬碟
(二)將資料分成數個區段,同步的對數個磁碟機做讀/寫,增加磁碟存取時的速度。在RAID 3/5系統中,磁碟機數目越多,其儲存的速度愈快。
(三)鏡射或同位元檢測模式能提供容錯功能。
RAID在定義時,共設定了5個不同的組態,分為Level 1-5,Level 0為Disk Stripe,並不在當初的定義模式中,可能是為了描述方便起見,目前所見的文章,仍然將Level 0列為RAID的組態之中。
市面上的產品,大多支援RAID Level 0、1、3、5。Level 2、4的產品較少見。另外,Level 10、30、50,則是兩種RAID Level的合成模式。
針對其優異的I/O表現,RAID 0適合在以下的環境中使用:
(一)要求資料快速傳送的影像撥放系統,資料從可靠度較高的媒體載入此硬碟系統中,以供其他裝置抓取資料
(二)儲存大型表格,或是其他唯讀形式的資料,使用者可以使用此資料。如果資料損毀,可以再從其他的儲存媒體中載入。
在做寫入動作時,由於需對兩顆硬碟機執行寫入指令,其資料傳輸量是一般的兩倍,所以會比單一硬碟機所耗用的時間多一些些,對某些需要做密集寫入動作的應用程式而言,有可能會有影響。而在讀取時,則可以提供較單一硬碟機接近兩倍的I/O效能。事實上, 它是容錯型式的磁碟陣列中, 效率最高的一種模式。
RAID Level 1提供非常高的資料信賴度,磁碟系統中,一個硬碟故障時,另外一個硬碟可以完全的接替工作,而不會有任何錯誤發生。相對的,其成本也相對較高。磁碟機使用率只有50%。網路作業系統中,如WindowsNT和Novell都支援軟體Mirror功能,使用者可以很容易的設定。
RAID Level 1常應用於高安全要求的多人使用環境,例如:作業系統的開機磁碟。
目前大部分的RAID 控制卡中,都支援RAID 10的功能。如果系統中存在4個硬碟,就可以選擇RAID 10。
RAID(0+1)可以容許邏輯磁碟機中不只一顆硬碟故障。因為其提供完整的容錯能力。
RAID 10如同RAID Level 1一樣, 其硬碟使用率亦只有50%, 但它卻是最具高效率的規劃方式。兼具 RAID 1的「安全性」與RAID 0的「速度」。可是成本也最高的。
資料在從主機寫入磁碟陣列時,RAID控制卡會先將資料分成許多段(Chunk),並產生同位元檢測資料,再同時寫入硬碟機組中。讀取時,控制卡將虛擬磁碟機的區塊位址轉換成相對的資料塊(Chunk)位址,再對磁碟陣列發出讀取指令,等資料全部讀取後,才回應系統。
RAID 3常用在繪圖、影像處理等,對資料進行大量讀或寫的應用領域,以及處理大量順序檔案的非互動式應用環境。為了使RAID 3的磁碟陣列更有效率,其每次I/O區塊,應該設定為32KB或更大。
在每次從系統寫入資料前, 由RAID控制卡內部的邏輯電路,根據切割之區段大小(單一或多個Block為單位),計算出同位檢核資訊。每項資料中(以 Stripe 為單位)的同位檢核資料,隨著資料分別散存在各陣列硬碟內。這種RAID的模式,可允許多個寫入(Write Overlay),因為這多個寫入動作時,同位資訊是置在不同的陣列硬碟中。
但是在讀取資料時,讀取的資料可能是資料,但也可能是同位元資料,必需經由RAID控制卡的計算才能整合。在連續性大型檔案輸出時,是較不利的。因此,RAID 5並不適用於需要持續更新資料的應用環境。
磁碟陣列中,如果有硬碟發生故障,控制卡可以從其他好的硬碟機中讀取資料以重建系統。
資料來源:聯強國際